The present invention relates to satellite positioning systems which use augmentation or aiding from information regarding the altitude of a satellite positioning system receiver.
Conventional satellite positioning systems (SPS) such as the U.S. Global Positioning System (GPS) use signals from satellites to determine their position. Conventional SPS receivers normally determine their position by computing relative times of arrival of signals transmitted simultaneously from a multiplicity of GPS satellites which orbit the earth. These satellites transmit, as part of their message, both satellite positioning data as well as data on clock timing which specifies the position of a satellite at certain times; this data is often referred to as satellite ephemeris data. Conventional SPS receivers typically search for and acquire the SPS signals, read the ephemeris data for a multiplicity of satellites, determine pseudoranges to these satellites, and compute the location of the SPS receivers from the pseudoranges and the ephemeris data from the satellites.
Conventional SPS systems sometimes use altitude aiding to assist in two situations: a case of bad satellite geometry, or a lack of measurements for three dimensional positioning. For most cases, bad satellite geometry is caused by poor observability in the vertical direction. For instance, if the unit vectors to all of the satellites being used in the solution lie on a cone of arbitrary half-angle, then it is possible to place a plane on the top of the tips of the unit vectors if the unit vectors only span a two-dimensional space. The error in the third direction or dimension, which is perpendicular to the plane, is unobservable; this is referred to as a singularity condition. In urban canyon environments with tall buildings surrounding the GPS receiver antenna, the only satellites that are visible are those at high elevation angles. These signal conditions are similar to the singularity condition described herein. Also, large multi-path errors tend to cause large errors in the vertical direction.
Conventional altitude aiding is based on a pseudomeasurement of the altitude that can be visualized as a surface of a sphere with its center at the center of the earth. This sphere has a radius which includes the earth's radius and an altitude with respect to the earth's surface which is typically defined by an ellipsoid (WGS84 is one of the ellipsoidal models). There are numerous techniques which are available to perform altitude aiding, but all techniques rely on an a priori knowledge of the altitude required to define the surface of a sphere which is a magnitude of the altitude pseudomeasurement. Typically, an estimated altitude can be manually supplied by the operator of the GPS receiver or can be set to some preset value, such as the surface of the earth or be set to an altitude from a previous three-dimensional solution.
Prior GPS technology has also used altitude aiding in the case where a mobile GPS receiver receives GPS signals but does not compute its position, and relies upon a basestation to perform the position calculations for it. U.S. Pat. No. 5,225,842 describes such a system which uses altitude aiding in order to allow the use of only three GPS satellites. The estimated altitude is typically derived from mapping information such as a topological or geodetic database. In this configuration, the altitude information of a basestation may also be available.
A weakness of this approach is that an initial two-dimensional solution is typically made before an altitude aiding with a reasonable altitude estimate can be applied. The altitude can then be extracted from a vertical database as a function of latitude and longitude coordinates.
While the foregoing approaches provide certain advantages from the use of altitude information, they do not work well in the case of a distributed processing system where a mobile GPS receiver may be located in any position over a relatively large geographical area. Moreover, these prior approaches use altitude information with all available pseudoranges even if a particular pseudorange is faulty.